package day0303;

import day0302.Point;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class ListDemo2 {
    ////对List集合排序：排Integer、排String、排Point----练习Lambda表达式使用
    public static void main(String[] args) {
        List<String> list =new ArrayList<>();
        list.add("王克晶");
        list.add("传奇");
        list.add("哈啊哈哈");
        list.add("嘻嘻嘻嘻嘻嘻嘻");

        List<Integer> list2 =new ArrayList<>();
        list2.add(1);
        list2.add(2);
        list2.add(3);
        list2.add(4);
        list2.add(5);

        Collections.sort(list2);//升序
        Collections.reverse(list2);//翻转

        Collections.sort(list,(o1, o2) -> o1.length()-o2.length());
        System.out.println(list);


        List<Point> list3 =new ArrayList<>();
        list3.add(new Point(100,564));
        list3.add(new Point(455,786));
        list3.add(new Point(456,245));
        list3.add(new Point(786,245));
        list3.add(new Point(782,456));

       list3.sort((o1, o2) -> (o1.getX()*o1.getX()+o1.getY()*o1.getY())-(o2.getX()*o2.getX()+o2.getY()*o2.getY()));
        System.out.println(list3);





    }
}
